﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using System.ServiceModel.Web;

namespace WCFServicesForCitrix.Interfaces
{
    [ServiceContract]
    public interface IEC2
    {
        [OperationContract]
        [WebInvoke(RequestFormat = WebMessageFormat.Xml, BodyStyle = WebMessageBodyStyle.Wrapped)]
        EC2.EC2InstanceInfo GetInstanceInfo(string AccessKey, string SecretKey,EC2.EC2Instance Instance);
        [OperationContract]
        [WebGet(ResponseFormat = WebMessageFormat.Xml)]
        List<EC2.EC2Instance> GetInstances(string AccessKey, string SecretKey);
        [OperationContract]
        [WebInvoke(RequestFormat = WebMessageFormat.Xml, BodyStyle = WebMessageBodyStyle.Wrapped)]
        EC2.EC2InstanceStateChange StartInstance(string AccessKey, string SecretKey, string InstanceID);
        [OperationContract]
        [WebInvoke(RequestFormat = WebMessageFormat.Xml, BodyStyle = WebMessageBodyStyle.Wrapped)]
        EC2.EC2InstanceStateChange StopInstance(string AccessKey, string SecretKey, string InstanceID);
        [OperationContract]
        [WebInvoke(RequestFormat = WebMessageFormat.Xml, BodyStyle = WebMessageBodyStyle.Wrapped)]
        bool DeleteInstance(string AccessKey, string SecretKey, string InstanceID);
    }
}
